package cn.com.huzo.service.trade;

import cn.com.huzo.model.entities.trade.CommercialInvoiceLinesEntity;
import huzofw.service.GenericManager;
import java.util.List;
import java.util.Map;

/**
 * 销售发票明细管理服务对象接口。
 *
 * @author 吴旭
 */
public interface CommercialInvoiceLinesManager extends GenericManager<CommercialInvoiceLinesEntity, String> {

    /**
     * 根据给定ID取得销售发票明细信息对象。
     *
     * @param headerKey 销售发票标识
     * @return 销售发票信息对象
     * @throws java.lang.Exception
     */
    List<CommercialInvoiceLinesEntity> fetchLinesByHeaderKey(Long headerKey) throws Exception;

    /**
     * 搜索销售合同明细和发货单主表数据
     *
     * @param criterion 要新的数据
     * @return
     * @throws Exception
     */
    Map<String, Object> fetchWizardSearchResult(Map<String, Object> criterion) throws Exception;

    /**
     * 提取发票明细
     *
     * @param criterion 要新的数据
     * @return
     * @throws Exception
     */
    List<CommercialInvoiceLinesEntity> fetchByWizardResult(Map<String, Object> criterion) throws Exception;
}
